<html>
<head><meta charset="utf-8"><title>Meeting 2021-05-10 · project-portable-simd · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/index.html">project-portable-simd</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html">Meeting 2021-05-10</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="238201030"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238201030" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238201030">(May 10 2021 at 19:48)</a>:</h4>
<p>Hello everyone! It's been 2 weeks! Meeting in ~45min.<br>
<a href="https://hackmd.io/bk7HHiZeSaC7r1tnwFtZhA">https://hackmd.io/bk7HHiZeSaC7r1tnwFtZhA</a></p>



<a name="238204848"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238204848" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238204848">(May 10 2021 at 20:16)</a>:</h4>
<p>maybe talk about what all you'd want to see in vector-math for it to be used as the math library for std::simd (and maybe f32::sin in core)</p>



<a name="238205009"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238205009" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238205009">(May 10 2021 at 20:17)</a>:</h4>
<p>Don't we already have a port of musl libm for that? I think there are just other issues preventing it from being the default</p>



<a name="238205922"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238205922" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238205922">(May 10 2021 at 20:24)</a>:</h4>
<p>are you talking about the hypothetical libmvec?</p>



<a name="238206091"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238206091" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238206091">(May 10 2021 at 20:25)</a>:</h4>
<p>I am, I think Caleb is talking about scalar functions</p>



<a name="238206359"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238206359" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238206359">(May 10 2021 at 20:27)</a>:</h4>
<p>the hypothetical is becoming reality: <a href="https://salsa.debian.org/Kazan-team/vector-math">https://salsa.debian.org/Kazan-team/vector-math</a></p>



<a name="238207034"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238207034" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238207034">(May 10 2021 at 20:32)</a>:</h4>
<p>Mmm.</p>



<a name="238207382"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238207382" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238207382">(May 10 2021 at 20:34)</a>:</h4>
<p>So PR <a href="https://github.com/rust-lang/rust/issues/117">#117</a> <del>implements <code>select</code></del> implements <code>select</code> for masks.<br>
<span class="user-mention" data-user-id="312331">@Caleb Zulawski</span> You expressed support for using the bitops for this, do those not already work? I haven't sat down and written a bunch of mask-using code since.</p>



<a name="238207491"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238207491" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238207491">(May 10 2021 at 20:34)</a>:</h4>
<p>It just adds select specifically on masks</p>



<a name="238207559"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238207559" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238207559">(May 10 2021 at 20:35)</a>:</h4>
<p>Ah yeah sorry. ^^;</p>



<a name="238207569"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238207569" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238207569">(May 10 2021 at 20:35)</a>:</h4>
<p>It uses bitops to implement it, though</p>



<a name="238207732"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238207732" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238207732">(May 10 2021 at 20:36)</a>:</h4>
<p>True. Is there a reason we shouldn't tell people to just use <code>mask &amp; true_values | !mask &amp; false_values</code> for it?</p>



<a name="238207780"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238207780" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238207780">(May 10 2021 at 20:36)</a>:</h4>
<p>Do we expect that to be common, I guess?</p>



<a name="238207932"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238207932" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238207932">(May 10 2021 at 20:37)</a>:</h4>
<p><span class="user-mention" data-user-id="229517">@Jacob Lifshay</span> How does the LLVM IR particularly matter here?</p>



<a name="238207951"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238207951" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238207951">(May 10 2021 at 20:37)</a>:</h4>
<p>I expect select on masks to generate the llvm ir select instruction for full-masks at least</p>



<a name="238208096"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238208096" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238208096">(May 10 2021 at 20:38)</a>:</h4>
<p>for bitmasks, I think it might matter less</p>



<a name="238208161"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238208161" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238208161">(May 10 2021 at 20:39)</a>:</h4>
<p>That is a detail we are deliberately trying to avoid exposing to our users tho'. Bitops should optimize however they need to be optimized.</p>



<a name="238208210"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238208210" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238208210">(May 10 2021 at 20:39)</a>:</h4>
<p>the LLVM IR matters because <code>select</code> is the instruction known by llvm's optimizers.</p>



<a name="238208340"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238208340" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238208340">(May 10 2021 at 20:40)</a>:</h4>
<p>for full masks, why not just call <code>select</code> on the underlying SimdI32 or whatever?</p>



<a name="238208495"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238208495" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238208495">(May 10 2021 at 20:41)</a>:</h4>
<p>My point is more of "select is the best way to implement select", not "lets punch a bunch of holes in the abstraction layer"</p>



<a name="238208552"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238208552" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238208552">(May 10 2021 at 20:42)</a>:</h4>
<p>I am aware certain instructions may be favored by LLVM for optimization, but I am also aware that LLVM can pattern match and reconstruct the LLVM IR however it needs to.</p>



<a name="238208712"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238208712" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238208712">(May 10 2021 at 20:43)</a>:</h4>
<p>yes, but optimization usually works better when it doesn't have to wait to the "reencode as select" pass before it can understand it</p>



<a name="238208720"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238208720" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238208720">(May 10 2021 at 20:43)</a>:</h4>
<p>The current PR does not satisfy your request, it merely exposes a function.</p>



<a name="238208734"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238208734" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238208734">(May 10 2021 at 20:43)</a>:</h4>
<p>I would like to see something more concrete, I suppose.</p>



<a name="238208841"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238208841" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238208841">(May 10 2021 at 20:44)</a>:</h4>
<p>more concrete pr, or more concrete reasoning?</p>



<a name="238208858"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238208858" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238208858">(May 10 2021 at 20:44)</a>:</h4>
<p>More concrete examples.</p>



<a name="238208876"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238208876" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238208876">(May 10 2021 at 20:44)</a>:</h4>
<p>ah, ok</p>



<a name="238208882"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238208882" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238208882">(May 10 2021 at 20:44)</a>:</h4>
<p>I am fairly positive this will optimize correctly since it's nearly a trivial optimization</p>



<a name="238208935"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238208935" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238208935">(May 10 2021 at 20:45)</a>:</h4>
<p>Binary operation optimizations are well understood</p>



<a name="238208955"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238208955" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238208955">(May 10 2021 at 20:45)</a>:</h4>
<p>hmm, well, I guess it doesn't matter that much</p>



<a name="238208959"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238208959" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238208959">(May 10 2021 at 20:45)</a>:</h4>
<p>Yeah, I would basically like to see an example of LLVM failing to optimize simple boolean logic correctly.</p>



<a name="238208992"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238208992" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238208992">(May 10 2021 at 20:45)</a>:</h4>
<p>because we have problems if so. <span aria-label="eyes" class="emoji emoji-1f440" role="img" title="eyes">:eyes:</span></p>



<a name="238209014"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238209014" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238209014">(May 10 2021 at 20:45)</a>:</h4>
<p>It also makes the code dramatically simpler since we don't need to then specialize the select implementation on mask implementation</p>



<a name="238209126"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238209126" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238209126">(May 10 2021 at 20:46)</a>:</h4>
<p>i'd have to look at rustc's llvm pass order, but if inlining is done before select conversion, it could not inline due to a function being too big</p>



<a name="238209549"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238209549" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238209549">(May 10 2021 at 20:49)</a>:</h4>
<p>in retrospect, it's probably not worth the hassle to specialize it, though I'd expect it to be 15loc or so</p>



<a name="238209670"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238209670" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238209670">(May 10 2021 at 20:50)</a>:</h4>
<p>You're telling me we could save a whole 15 loc? <span aria-label="eyes" class="emoji emoji-1f440" role="img" title="eyes">:eyes:</span></p>



<a name="238209708"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238209708" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238209708">(May 10 2021 at 20:50)</a>:</h4>
<p><span aria-label="knife" class="emoji emoji-1f52a" role="img" title="knife">:knife:</span> <span aria-label="knife" class="emoji emoji-1f52a" role="img" title="knife">:knife:</span> <span aria-label="knife" class="emoji emoji-1f52a" role="img" title="knife">:knife:</span></p>



<a name="238209860"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238209860" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238209860">(May 10 2021 at 20:51)</a>:</h4>
<p>I'm not sure if I understand <span class="user-mention" data-user-id="224471">@Lokathor</span>'s comment in <a href="https://github.com/rust-lang/stdsimd/issues/114#issuecomment-834669511">https://github.com/rust-lang/stdsimd/issues/114#issuecomment-834669511</a>. I guess that would be in favor of creating the function and naming it select anyways, and using the boolean internal implementation? Is that your understanding, <span class="user-mention" data-user-id="312331">@Caleb Zulawski</span>?</p>



<a name="238210010"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238210010" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238210010">(May 10 2021 at 20:52)</a>:</h4>
<p>I'd definitely like to keep the mask code as small as possible wrt the 15loc thing, it's pretty annoying to work with</p>



<a name="238210059"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238210059" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238210059">(May 10 2021 at 20:52)</a>:</h4>
<p>i want as many named ops and as few magic external phrases to know</p>



<a name="238210073"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238210073" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238210073">(May 10 2021 at 20:52)</a>:</h4>
<p>I'm all for having a select function, i just no longer think it's worth arguing about how to implement it</p>



<a name="238210117"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238210117" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238210117">(May 10 2021 at 20:53)</a>:</h4>
<p>i also don't care about the internals</p>



<a name="238210147"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238210147" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238210147">(May 10 2021 at 20:53)</a>:</h4>
<p>Cool, so we do have consensus on implementing it, and if anyone comes forward with a concrete argument about how we're missing an optimization we'll review our impl.</p>



<a name="238210151"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238210151" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238210151">(May 10 2021 at 20:53)</a>:</h4>
<p>Yeah I agree with that sentiment <span class="user-mention" data-user-id="224471">@Lokathor</span>, as long as the function description isn't more confusing than the function itself</p>



<a name="238210164"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238210164" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238210164">(May 10 2021 at 20:53)</a>:</h4>
<p>Select is straightforward</p>



<a name="238210266"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238210266" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238210266">(May 10 2021 at 20:54)</a>:</h4>
<p><em>goes back to gardening</em></p>



<a name="238210595"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238210595" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238210595">(May 10 2021 at 20:56)</a>:</h4>
<p>Cool, merging.</p>



<a name="238211200"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238211200" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238211200">(May 10 2021 at 21:00)</a>:</h4>
<p>Consensus on scatter/gather seems to be that we should avoid the vector of pointers model <em>for now</em>, instead use a vector of indices (which, not <em>too</em> different, kinda?), and provide safe functions for it. Unless we should use u32 indices, I guess? <span class="user-mention" data-user-id="312331">@Caleb Zulawski</span>?</p>



<a name="238211373"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238211373" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238211373">(May 10 2021 at 21:01)</a>:</h4>
<p>tedious detail I realize, but I wasn't entirely sure.</p>



<a name="238211384"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238211384" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238211384">(May 10 2021 at 21:01)</a>:</h4>
<p>I think we should provide both vector of pointers and vector of indices, though vector of pointers can definitely be under a different separately-stabilized feature</p>



<a name="238211453"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238211453" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238211453">(May 10 2021 at 21:02)</a>:</h4>
<p>I don't have a particularly strong opinion.  Vector of indices is probably better for our API and as long as we don't use <code>inbounds</code> I don't think provenance matters</p>



<a name="238211525"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238211525" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238211525">(May 10 2021 at 21:02)</a>:</h4>
<p>I have a bias against the pointers not because of gather/scatter specifically but because it's a confusing and much larger API</p>



<a name="238211527"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238211527" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238211527">(May 10 2021 at 21:02)</a>:</h4>
<p>Mmkay.<br>
I think we'll get to pointers later, basically.</p>



<a name="238211672"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238211672" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238211672">(May 10 2021 at 21:03)</a>:</h4>
<p><span class="user-mention" data-user-id="281757">@Jubilee</span> sounds good, as long as we're not saying <em>no</em> pointers must ever touch our vectors!</p>



<a name="238211682"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238211682" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238211682">(May 10 2021 at 21:03)</a>:</h4>
<p>Just from the algorithmic point of view, where I would use scatter gather, indices are probably easier to work with as well</p>



<a name="238211845"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238211845" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238211845">(May 10 2021 at 21:05)</a>:</h4>
<blockquote>
<ol start="2">
<li>Are there remaining concerns for nightly? Some possible ones:<br>
  2a. How do we test that we work on cranelift?<br>
  2b. We still need to add the rustc stability attributes<br>
  2c. Are there missing parts of our API?</li>
</ol>
</blockquote>



<a name="238211939"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238211939" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238211939">(May 10 2021 at 21:05)</a>:</h4>
<p>I don't think we need to work with cranelift to hit nightly initially</p>



<a name="238211983"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238211983" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238211983">(May 10 2021 at 21:05)</a>:</h4>
<p>Is there anything we feel we're really missing? It feels like we're wrapping up the basics.</p>



<a name="238212056"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238212056" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238212056">(May 10 2021 at 21:06)</a>:</h4>
<p>My opinion is select was the last thing</p>



<a name="238212103"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238212103" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238212103">(May 10 2021 at 21:06)</a>:</h4>
<p>as long as we don't break cranelift for people who aren't using std::simd, sounds good</p>



<a name="238212136"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238212136" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238212136">(May 10 2021 at 21:06)</a>:</h4>
<p>We'll probably end up reworking some of the trait bounds etc but not the fundamental API</p>



<a name="238212174"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238212174" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238212174">(May 10 2021 at 21:07)</a>:</h4>
<p>Yeah, we have other stuff that we can go back and fill in but it feels like we have enough for someone to really ruin their day with.</p>



<a name="238212186"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238212186" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238212186">(May 10 2021 at 21:07)</a>:</h4>
<p>:^)</p>



<a name="238212199"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238212199" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238212199">(May 10 2021 at 21:07)</a>:</h4>
<p>We probably should try to focus on adding more documentation.</p>



<a name="238212347"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238212347" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238212347">(May 10 2021 at 21:08)</a>:</h4>
<p>vector-math seems like a decent test of std::simd's core api</p>



<a name="238212351"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238212351" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238212351">(May 10 2021 at 21:08)</a>:</h4>
<p>gotta add the rustc stability attributes and land stdsimd as a subtree with compiler/libs help.</p>



<a name="238212457"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238212457" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238212457">(May 10 2021 at 21:09)</a>:</h4>
<p>So one thing regarding the stability stuff</p>



<a name="238212475"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238212475" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238212475">(May 10 2021 at 21:09)</a>:</h4>
<p>mhm?</p>



<a name="238212546"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238212546" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238212546">(May 10 2021 at 21:09)</a>:</h4>
<p>I think perhaps we should include it right now under just a single feature?  We can break it up in the future if we think we aren't going to stabilize it all at once</p>



<a name="238212618"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238212618" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238212618">(May 10 2021 at 21:10)</a>:</h4>
<p>exactly what I was just going to say</p>



<a name="238212632"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238212632" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238212632">(May 10 2021 at 21:10)</a>:</h4>
<p>But I think we're far enough from stabilization that we really have no idea where those lines are going to be drawn</p>



<a name="238212654"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238212654" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238212654">(May 10 2021 at 21:10)</a>:</h4>
<p>OK!</p>



<a name="238212681"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238212681" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238212681">(May 10 2021 at 21:10)</a>:</h4>
<p>It might turn out we stabilize all at once!</p>



<a name="238212835"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238212835" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238212835">(May 10 2021 at 21:11)</a>:</h4>
<p>I also don't think there's anything wrong with potentially breaking our API on nightly occasionally</p>



<a name="238212984"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238212984" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238212984">(May 10 2021 at 21:12)</a>:</h4>
<p>It's going on nightly so we can get feedback, but presumably we're going to act on it</p>



<a name="238213105"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238213105" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238213105">(May 10 2021 at 21:12)</a>:</h4>
<p>yup! kinda hoping that happens around the hard-to-use generically LanesAtMost32</p>



<a name="238213167"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238213167" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238213167">(May 10 2021 at 21:13)</a>:</h4>
<p>Absolutely not.<br>
However, I made a few PRs where I carved up existing features.<br>
I found it's easiest to think about if there's a clear sense of directionality: what should go where. Having overly broad flags does not help, using overly specific ones makes it easier to go "okay, here's what I should leave under this flag". So in the interest of having a clear "where to go" when carving stuff up, which is a concern I noticed, can we land as <code>core_simd_arith</code> and carve stuff out later?</p>



<a name="238213198"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238213198" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238213198">(May 10 2021 at 21:13)</a>:</h4>
<p>Yeah, LanesAtMost32 and Mask are traits I'm slightly unsure about atm</p>



<a name="238213369"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238213369" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238213369">(May 10 2021 at 21:14)</a>:</h4>
<p>I don't think we should focus on arithmetic, I think we have a lot more in the API at this point</p>



<a name="238213393"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238213393" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238213393">(May 10 2021 at 21:14)</a>:</h4>
<p>Notably select and the non-generic shuffles</p>



<a name="238213449"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238213449" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238213449">(May 10 2021 at 21:14)</a>:</h4>
<p>Yes, I am saying that using an inaccurately narrow flag is easier than an overly vague flag.</p>



<a name="238213479"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238213479" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238213479">(May 10 2021 at 21:15)</a>:</h4>
<p>From the perspective of sectioning it later on.</p>



<a name="238213515"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238213515" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238213515">(May 10 2021 at 21:15)</a>:</h4>
<p>I don't think that's true, I think we should make a flag that enables everything</p>



<a name="238213551"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238213551" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238213551">(May 10 2021 at 21:15)</a>:</h4>
<p>what about using stdsimd_tbd as the feature name?</p>



<a name="238213568"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238213568" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238213568">(May 10 2021 at 21:15)</a>:</h4>
<p>I am saying that we should have a flag that enables everything, and for the moment it should be <code>core_simd_arith</code>. <span aria-label="eyes" class="emoji emoji-1f440" role="img" title="eyes">:eyes:</span></p>



<a name="238213631"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238213631" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238213631">(May 10 2021 at 21:16)</a>:</h4>
<p>I should note that removing a feature flag that has been added ever is not a trivial thing.</p>



<a name="238213667"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238213667" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238213667">(May 10 2021 at 21:16)</a>:</h4>
<p>Why not just <code>core_simd</code>?</p>



<a name="238213713"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238213713" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238213713">(May 10 2021 at 21:16)</a>:</h4>
<p>I think the "arithmetic" was throwing me off</p>



<a name="238213753"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238213753" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238213753">(May 10 2021 at 21:17)</a>:</h4>
<p>core_simd_base?</p>



<a name="238213761"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238213761" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238213761">(May 10 2021 at 21:17)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/issues/84510">https://github.com/rust-lang/rust/issues/84510</a></p>



<a name="238213768"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238213768" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238213768">(May 10 2021 at 21:17)</a>:</h4>
<p>Because of issues like this one.</p>



<a name="238213793"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238213793" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238213793">(May 10 2021 at 21:17)</a>:</h4>
<p>I don't want a name we're going to later decide to <em>not</em> stabilize.</p>



<a name="238213863"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238213863" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238213863">(May 10 2021 at 21:18)</a>:</h4>
<p>Well my thought was that would be the name for the initial stabilization</p>



<a name="238213906"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238213906" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238213906">(May 10 2021 at 21:18)</a>:</h4>
<p>Then if we have specific things we're holding back we can name them specifically with new features</p>



<a name="238213935"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238213935" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238213935">(May 10 2021 at 21:18)</a>:</h4>
<p>Well, that's never been how broad names have actually panned out before, so I don't think we should strategize around that.</p>



<a name="238213952"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238213952" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238213952">(May 10 2021 at 21:19)</a>:</h4>
<p>see: const_generics -&gt; min_const_generics</p>



<a name="238213973"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238213973" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238213973">(May 10 2021 at 21:19)</a>:</h4>
<p><code>core_simd_generic_shuffle</code></p>



<a name="238214017"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238214017" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238214017">(May 10 2021 at 21:19)</a>:</h4>
<p>I think const generics is the only example of that and because it's a language feature</p>



<a name="238214040"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238214040" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238214040">(May 10 2021 at 21:19)</a>:</h4>
<p>specialization -&gt; min_specialization. :^)<br>
const_fn :^)</p>



<a name="238214051"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238214051" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238214051">(May 10 2021 at 21:20)</a>:</h4>
<p>Look at for example <code>is_subnormal</code></p>



<a name="238214125"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238214125" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238214125">(May 10 2021 at 21:20)</a>:</h4>
<p>It's a specific feature around a specific function</p>



<a name="238214162"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238214162" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238214162">(May 10 2021 at 21:20)</a>:</h4>
<p>yeah.</p>



<a name="238214240"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238214240" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238214240">(May 10 2021 at 21:21)</a>:</h4>
<p>I don't think there's anything wrong with somewhat changing the scope of a feature ahead of stabilization</p>



<a name="238214259"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238214259" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238214259">(May 10 2021 at 21:21)</a>:</h4>
<p>Like excluding a handful of functions</p>



<a name="238214283"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238214283" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238214283">(May 10 2021 at 21:21)</a>:</h4>
<p>I don't think so either?</p>



<a name="238214369"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238214369" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238214369">(May 10 2021 at 21:22)</a>:</h4>
<p>I don't expect core::simd to be stabilized piecemeal, I think we'll probably stabilize almost all of it and we can use <code>core_simd</code> for that</p>



<a name="238214405"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238214405" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238214405">(May 10 2021 at 21:22)</a>:</h4>
<p>And add a handful of new features for anything weird that we hold back</p>



<a name="238214469"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238214469" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238214469">(May 10 2021 at 21:23)</a>:</h4>
<p>core_simd_lanes_at_most_32</p>



<a name="238214490"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238214490" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238214490">(May 10 2021 at 21:23)</a>:</h4>
<p>I'm looking at it that <code>core_simd</code> indicates the existence of a core::simd module, not that the entirety of the module is done</p>



<a name="238214546"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238214546" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238214546">(May 10 2021 at 21:23)</a>:</h4>
<p>(it probably never will be)</p>



<a name="238214618"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238214618" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238214618">(May 10 2021 at 21:24)</a>:</h4>
<p>OK, so your perspective is, whatever we stabilize first should be named core_simd, because it adds the module, even if there's <em>one</em> function and <em>one</em> type in it, correct?</p>



<a name="238214768"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238214768" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238214768">(May 10 2021 at 21:25)</a>:</h4>
<p>Well, I think it's unlikely that we would do that, but yeah</p>



<a name="238214863"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238214863" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238214863">(May 10 2021 at 21:26)</a>:</h4>
<p>I think if we stabilized every vector type with only std::ops implementations that's what it should be called (though I imagine we'd have more than that)</p>



<a name="238215075"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238215075" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238215075">(May 10 2021 at 21:28)</a>:</h4>
<p>I think the mistake with const generics was that _so many_ crates relied on it on nightly and the implementation is complicated enough that they didn't want to break everything by changing the scope of the feature</p>



<a name="238215106"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238215106" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238215106">(May 10 2021 at 21:28)</a>:</h4>
<p>I expect we will have as many dependents, possibly more.</p>



<a name="238215201"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238215201" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238215201">(May 10 2021 at 21:29)</a>:</h4>
<p>I don't think so, but even if we do, I think the number that use features we don't stabilize right away will be much smaller</p>



<a name="238215347"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238215347" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238215347">(May 10 2021 at 21:30)</a>:</h4>
<p>can rustc be told that a feature is an alias for a group of other features? then core_simd could be converted to such an alias, preventing breakage</p>



<a name="238215364"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238215364" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238215364">(May 10 2021 at 21:30)</a>:</h4>
<p>Honestly I don't think we've run into anything other than the generic shuffles that can't or shouldn't be stabilized right away</p>



<a name="238215496"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238215496" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238215496">(May 10 2021 at 21:31)</a>:</h4>
<p><span class="user-mention" data-user-id="229517">@Jacob Lifshay</span> well the feature would just enable the module so it would be pretty easy to enable it on both features, even if it's not strictly an alias</p>



<a name="238215599"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238215599" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238215599">(May 10 2021 at 21:32)</a>:</h4>
<p>so, wait, you can have two <code>#[unstable(...)]</code> on the same item?!</p>



<a name="238215874"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238215874" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238215874">(May 10 2021 at 21:34)</a>:</h4>
<p>So here's my perspective as to why we should name it <code>core_simd_arith</code>:</p>
<ol start="0">
<li>It becomes easier to know what should be moved out of <code>core_simd_arith</code> into other feature flags, because it becomes automatic: if it's not <code>core_simd_arith</code>, it can of course just be named something else and moved into a new feature flag. Again, this sort of making-future-decisions-about-sectioning-easier is my main reason.</li>
<li>It's better to under-promise and over-deliver. I don't want to have to explain to someone, "yeah, we stabilized <code>core_simd</code> but... only a few things...?" I'd rather say "yeah, we stabilized <code>core_simd_arith</code>metic and all this other stuff!"</li>
<li>The<code> const_generics</code> and nightly dependency thing is a real issue still.</li>
<li>This is kinda just 0 again, but I should note that uncertainty about how to section things had delayed me by <strong>literal months</strong> on how to do something, because I could not consciously vocalize what my issue was. I have practice now, but it's actually quite nontrivial, and this is actually a recurring concern with everyone else, specialization, const fn (no, const fn is not const generics), not just const generics. I know it <em>seems</em> trivial, but it's actually a weirdly big issue.</li>
</ol>



<a name="238216031"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238216031" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238216031">(May 10 2021 at 21:36)</a>:</h4>
<p>Unless, of course, I don't ever have to do any of the landing, feature, and stabilization PRs. Then of course I will bow out, because the oddities of my brain don't matter nearly as much. :^)</p>



<a name="238216136"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238216136" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238216136">(May 10 2021 at 21:37)</a>:</h4>
<p>I still just don't like that we are containing things that aren't arithmetic in something named arithmetic</p>



<a name="238216151"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238216151" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238216151">(May 10 2021 at 21:37)</a>:</h4>
<p>I think that's significantly more confusing</p>



<a name="238216362"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238216362" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238216362">(May 10 2021 at 21:39)</a>:</h4>
<p>I don't actually see how naming it something else solves any of those issues</p>



<a name="238216495"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238216495" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238216495">(May 10 2021 at 21:40)</a>:</h4>
<p>We will just end up with people using generic shuffle from the <code>core_simd_arith</code> feature and still need to add a separate feature for that</p>



<a name="238216529"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238216529" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238216529">(May 10 2021 at 21:41)</a>:</h4>
<p>add a separate feature for what?</p>



<a name="238216554"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238216554" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238216554">(May 10 2021 at 21:41)</a>:</h4>
<p>generic shuffle</p>



<a name="238216560"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238216560" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238216560">(May 10 2021 at 21:41)</a>:</h4>
<p>Later stabilization of something like generic shuffles, hypothetically</p>



<a name="238216593"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238216593" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238216593">(May 10 2021 at 21:41)</a>:</h4>
<p>sure?<br>
I am not proposing not breaking people on nightly?<br>
0 is the big issue, again.</p>



<a name="238216607"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238216607" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238216607">(May 10 2021 at 21:41)</a>:</h4>
<p>so big I mentioned it twice.</p>



<a name="238216659"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238216659" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238216659">(May 10 2021 at 21:42)</a>:</h4>
<ol start="0">
<li>is because everything is part of <code>core_simd</code> notionally so there's no automatic notion of what should be subdivided out into an additional thing.</li>
</ol>



<a name="238216694"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238216694" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238216694">(May 10 2021 at 21:42)</a>:</h4>
<p>I just don't understand why we shouldn't call it <code>core_simd</code></p>



<a name="238216706"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238216706" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238216706">(May 10 2021 at 21:42)</a>:</h4>
<p>core_simd_base!</p>



<a name="238216707"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238216707" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238216707">(May 10 2021 at 21:42)</a>:</h4>
<p>the idea that it should be "whatever is stabilized first" is not apparent.</p>



<a name="238216752"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238216752" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238216752">(May 10 2021 at 21:43)</a>:</h4>
<p><code>core_simd_base</code> isn't bad, I think it's more descriptive at least</p>



<a name="238216775"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238216775" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238216775">(May 10 2021 at 21:43)</a>:</h4>
<p>You cannot choose to not mislead people.<br>
You can choose to mislead people in a specific direction. :^)</p>



<a name="238216792"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238216792" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238216792">(May 10 2021 at 21:43)</a>:</h4>
<p>core_simd_initial_stuff?</p>



<a name="238216814"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238216814" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238216814">(May 10 2021 at 21:43)</a>:</h4>
<p>I think it's very unlikely that we will only stabilize arithmetic first</p>



<a name="238216902"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238216902" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238216902">(May 10 2021 at 21:44)</a>:</h4>
<p>At a minimum I think we will also have select and comparisons</p>



<a name="238216909"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238216909" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238216909">(May 10 2021 at 21:44)</a>:</h4>
<p>and to that I point at 1. :^)</p>



<a name="238216938"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238216938" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238216938">(May 10 2021 at 21:44)</a>:</h4>
<p>everyone else will have their own ideas about what "base" means.</p>



<a name="238217033"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238217033" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238217033">(May 10 2021 at 21:45)</a>:</h4>
<p>Isn't the whole point here that you don't like that there is both <code>min_const_generics</code> and <code>const_generics</code>? I think I that's significantly more descriptive than something <code>core_simd_arith</code> containing significantly more than arithmetic</p>



<a name="238217043"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238217043" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238217043">(May 10 2021 at 21:45)</a>:</h4>
<p>we'll probably want to eventually add masked div/rem where division by zero isn't UB/doesn't panic for disabled lanes</p>



<a name="238217218"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238217218" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238217218">(May 10 2021 at 21:47)</a>:</h4>
<p>I have had to explain why simple const expressions don't work for <code>min_const_generics</code> a lot.</p>



<a name="238217280"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238217280" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238217280">(May 10 2021 at 21:48)</a>:</h4>
<p>So my experience is that it's not actually more descriptive based on what users say.</p>



<a name="238217411"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238217411" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238217411">(May 10 2021 at 21:49)</a>:</h4>
<p>Right but we aren't developing a language feature</p>



<a name="238217414"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238217414" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238217414">(May 10 2021 at 21:49)</a>:</h4>
<p>Right but we aren't developing a language feature</p>



<a name="238217429"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238217429" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238217429">(May 10 2021 at 21:49)</a>:</h4>
<p>The docs will indicate which feature is required for that function</p>



<a name="238217513"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238217513" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238217513">(May 10 2021 at 21:50)</a>:</h4>
<p>I believe in good documentation but tbh 80% of our users are not going to read it.</p>



<a name="238217527"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238217527" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238217527">(May 10 2021 at 21:50)</a>:</h4>
<p>and it will be weird when <code>core_simd_arith</code> is required to get <code>select</code></p>



<a name="238217565"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238217565" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238217565">(May 10 2021 at 21:50)</a>:</h4>
<p>they're just gonna throw stuff at the wall, get yelled at by the compiler to add a feature gate, and move on.</p>



<a name="238217653"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238217653" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238217653">(May 10 2021 at 21:51)</a>:</h4>
<p>I just don't see the reason to put arithmetic in the name at all, it seems arbitrary</p>



<a name="238217672"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238217672" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238217672">(May 10 2021 at 21:51)</a>:</h4>
<p>The existence of a simd type isn't arithmetic</p>



<a name="238217748"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238217748" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238217748">(May 10 2021 at 21:52)</a>:</h4>
<p>Expectation management. :^)<br>
But you are correct, it is largely arbitrary.<br>
It is the amount that I predict we will always stabilize first.</p>



<a name="238217780"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238217780" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238217780">(May 10 2021 at 21:52)</a>:</h4>
<p>Well I think the minimum we stabilize first will be the types, which isn't arithmetic</p>



<a name="238217799"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238217799" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238217799">(May 10 2021 at 21:53)</a>:</h4>
<p>And with the types we'll stabilize std::ops::Add, which is arithmetic. :^)</p>



<a name="238217827"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238217827" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238217827">(May 10 2021 at 21:53)</a>:</h4>
<p>and BitAnd, which isn't arithmetic</p>



<a name="238217894"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238217894" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238217894">(May 10 2021 at 21:54)</a>:</h4>
<p>What do you mean, it's the product of the bits. :^)</p>



<a name="238217919"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238217919" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238217919">(May 10 2021 at 21:54)</a>:</h4>
<p>There's going to be an announcement post when it's stabilized, would it make sense to regular people who haven't seen it on nightly for it to say <code>core_simd</code> is stabilized, of <code>core_simd_arith</code>?</p>



<a name="238217960"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238217960" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238217960">(May 10 2021 at 21:54)</a>:</h4>
<p>The feature we're gating is the module</p>



<a name="238217993"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238217993" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238217993">(May 10 2021 at 21:55)</a>:</h4>
<p>based on the reaction to <code>min_const_generics</code>, people assumed that all sorts of shit got stabilized with <code>min_const_generics</code>.</p>



<a name="238218133"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238218133" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238218133">(May 10 2021 at 21:56)</a>:</h4>
<p>which is why I am more amenable to <code>core_simd_base</code>, but</p>



<a name="238218138"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238218138" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238218138">(May 10 2021 at 21:56)</a>:</h4>
<p>I have to note we can't actually know what those assumptions are going to be.</p>



<a name="238218162"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238218162" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238218162">(May 10 2021 at 21:56)</a>:</h4>
<p>Well I will repeat that it's a language feature, but we aren't a language feature, we're stabilizing a module</p>



<a name="238218186"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238218186" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238218186">(May 10 2021 at 21:56)</a>:</h4>
<p>From the external user perspective there's no difference.</p>



<a name="238218195"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238218195" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238218195">(May 10 2021 at 21:56)</a>:</h4>
<p>You can go to the rust std docs to see what got stabilized</p>



<a name="238218211"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238218211" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238218211">(May 10 2021 at 21:57)</a>:</h4>
<p>...yeah but they don't read the docs.</p>



<a name="238218228"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238218228" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238218228">(May 10 2021 at 21:57)</a>:</h4>
<p>I do...</p>



<a name="238218235"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238218235" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238218235">(May 10 2021 at 21:57)</a>:</h4>
<p>You're in this madhouse with us. :^)</p>



<a name="238218241"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238218241" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238218241">(May 10 2021 at 21:57)</a>:</h4>
<p>XD</p>



<a name="238218270"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238218270" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238218270">(May 10 2021 at 21:57)</a>:</h4>
<p>I honestly haven't run into this hypothetical user who never reads docs and made assumptions about min_const_generics</p>



<a name="238218285"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238218285" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238218285">(May 10 2021 at 21:58)</a>:</h4>
<p>I answer questions about Rust as a hobby.</p>



<a name="238218327"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238218327" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238218327">(May 10 2021 at 21:58)</a>:</h4>
<p>I don't think that's the same person</p>



<a name="238218355"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238218355" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238218355">(May 10 2021 at 21:58)</a>:</h4>
<p>So I do it for like 5 to 20 hours a week.</p>



<a name="238218359"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238218359" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238218359">(May 10 2021 at 21:58)</a>:</h4>
<p>basically every week.</p>



<a name="238218415"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238218415" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238218415">(May 10 2021 at 21:59)</a>:</h4>
<p>And I field a question about SIMD libs at a steadily intensifying rate, it's above 2/week at this point.</p>



<a name="238218436"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238218436" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238218436">(May 10 2021 at 21:59)</a>:</h4>
<p>I don't think we are doing anyone any favors by choosing an intentionally wrong feature name</p>



<a name="238218459"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238218459" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238218459">(May 10 2021 at 21:59)</a>:</h4>
<p>All names are wrong, but some are valuable. :^)</p>



<a name="238218648"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238218648" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238218648">(May 10 2021 at 22:00)</a>:</h4>
<p>Fundamentally we are stabilizing the <code>core::simd</code> module, our charter is to stabilize the <code>core::simd</code> module, and that's the first thing we're going to do, I don't really have any argument beyond that</p>



<a name="238218653"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238218653" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238218653">(May 10 2021 at 22:00)</a>:</h4>
<p>reminds me of "there are 2 hard parts in programming: memory, naming, and off-by-one errors"</p>



<a name="238218672"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238218672" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238218672">(May 10 2021 at 22:01)</a>:</h4>
<p>Anyways,<br>
<code>core_simd_base</code> is fine, and at least lends the directional attribute which is my main concern.<br>
We'll worry about the rest later.</p>



<a name="238218726"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238218726" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238218726">(May 10 2021 at 22:01)</a>:</h4>
<p>sounds good to me!</p>



<a name="238218891"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238218891" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238218891">(May 10 2021 at 22:03)</a>:</h4>
<p>Because in 2022 if everyone here gets hit by a bus, and someone comes by and figures "we should divide this up and stabilize some part", it should be obvious that they should add new <code>core_simd_${name}</code> flags and then stabilize <code>_base</code>.</p>



<a name="238218977"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238218977" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238218977">(May 10 2021 at 22:03)</a>:</h4>
<p>Even if we don't document anything else.</p>



<a name="238218981"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238218981" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238218981">(May 10 2021 at 22:04)</a>:</h4>
<p>Which we should, ideally.</p>



<a name="238218987"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238218987" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238218987">(May 10 2021 at 22:04)</a>:</h4>
<p>circumnavigating buses...</p>



<a name="238219029"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238219029" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238219029">(May 10 2021 at 22:04)</a>:</h4>
<p>Isn't that implicit? There are new functions added to std all the time</p>



<a name="238219062"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238219062" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238219062">(May 10 2021 at 22:04)</a>:</h4>
<p>It was not to me. :^)</p>



<a name="238219076"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238219076" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238219076">(May 10 2021 at 22:04)</a>:</h4>
<p>when I worked on several feature stabilization PRs. :^)</p>



<a name="238219108"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238219108" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238219108">(May 10 2021 at 22:05)</a>:</h4>
<p>Hmm well my thought is if you look at the list of unstable features, their names are exactly the name of the feature</p>



<a name="238219130"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238219130" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238219130">(May 10 2021 at 22:05)</a>:</h4>
<p>leave comments on the std::simd module?</p>



<a name="238219151"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238219151" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238219151">(May 10 2021 at 22:05)</a>:</h4>
<p>Yeah, I'm gonna shove a bunch of comments in as I go.</p>



<a name="238219238"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238219238" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238219238">(May 10 2021 at 22:06)</a>:</h4>
<p><code>f32:s_subnormal</code> is <code>is_subnormal</code>, <code>doc(cfg)</code> is <code>doc_cfg</code>, I think breaking that convention is more confusing</p>



<a name="238219450"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238219450" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238219450">(May 10 2021 at 22:08)</a>:</h4>
<p>well, simd_arch isn't that way...</p>



<a name="238219510"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238219510" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238219510">(May 10 2021 at 22:08)</a>:</h4>
<p>simd_arch is core::arch</p>



<a name="238219590"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238219590" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238219590">(May 10 2021 at 22:09)</a>:</h4>
<p>yeah there's actually issues open to rearrange the other simd/arch feature flags that never got addressed.</p>



<a name="238219751"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238219751" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238219751">(May 10 2021 at 22:10)</a>:</h4>
<p>Yeah a few things don't follow that convention, and they're the confusing ones! That's my point!</p>



<a name="238219869"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238219869" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238219869">(May 10 2021 at 22:12)</a>:</h4>
<p>I don't think we should make the assumption that we will be like <code>const_generics</code> when it was just one of dozens of features to have that issue, and it's not even that particularly big of an issue</p>



<a name="238219893"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238219893" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238219893">(May 10 2021 at 22:12)</a>:</h4>
<p>core_simd_base seems less confusing to me</p>



<a name="238219971"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238219971" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238219971">(May 10 2021 at 22:12)</a>:</h4>
<p>Yeah, I still think base is more confusing than just saying <code>core_simd</code>, but it's better</p>



<a name="238220045"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238220045" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238220045">(May 10 2021 at 22:13)</a>:</h4>
<p>core_simd_mod?</p>



<a name="238220155"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238220155" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238220155">(May 10 2021 at 22:14)</a>:</h4>
<p><span class="user-mention silent" data-user-id="312331">Caleb Zulawski</span> <a href="#narrow/stream/257879-project-portable-simd/topic/Meeting.202021-05-10/near/238219869">said</a>:</p>
<blockquote>
<p>I don't think we should make the assumption that we will be like <code>const_generics</code> when it was just one of dozens of features to have that issue, and it's not even that particularly big of an issue</p>
</blockquote>
<p>I think the safe assumption is actually that none of us will be here for stabilizing this feature, our documentation will be unfinished, our implicit assumptions never written down, the psychology of our successors alien to us.</p>



<a name="238220228"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238220228" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238220228">(May 10 2021 at 22:15)</a>:</h4>
<p>because that is what has been the case for every other group which has tried to do this.</p>



<a name="238220277"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238220277" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238220277">(May 10 2021 at 22:15)</a>:</h4>
<p>Sure, but language isn't!  If our successors don't speak English very well <code>core_simd_arith</code> is probably exceptionally misleading</p>



<a name="238220345"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238220345" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238220345">(May 10 2021 at 22:16)</a>:</h4>
<p>(and even if they do, it's probably pretty misleading)</p>



<a name="238220381"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238220381" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238220381">(May 10 2021 at 22:17)</a>:</h4>
<p><code>core_simd_mod</code> sounds pretty good to me, it's descriptive and not wrong in any way</p>



<a name="238220488"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238220488" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238220488">(May 10 2021 at 22:18)</a>:</h4>
<p>A good point. I will cheerfully relent to that. :^)</p>



<a name="238220876"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238220876" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238220876">(May 10 2021 at 22:22)</a>:</h4>
<p>Thank you for being so patient with discussing this, I know my perspective is slightly frustrating, I just am not sure how I am best off communicating the seeming alienness of my <em>own</em> perspective.</p>



<a name="238220908"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238220908" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238220908">(May 10 2021 at 22:22)</a>:</h4>
<p>np</p>



<a name="238220956"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238220956" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238220956">(May 10 2021 at 22:23)</a>:</h4>
<p>I'm probably in a similar boat</p>



<a name="238221065"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238221065" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238221065">(May 10 2021 at 22:24)</a>:</h4>
<p>I think we narrowed it down to something we're probably all okay with</p>



<a name="238221088"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238221088" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238221088">(May 10 2021 at 22:24)</a>:</h4>
<p>So a success</p>



<a name="238221492"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238221492" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238221492">(May 10 2021 at 22:28)</a>:</h4>
<p>For: <code>2c. Are there missing parts of our API?</code>, I'd say yes, but we can stabilize initial stuff first and find out what's missing as we go</p>



<a name="238221721"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238221721" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238221721">(May 10 2021 at 22:31)</a>:</h4>
<p>we also need to take everything we've learned so far and start writing it into an RFC form</p>



<a name="238222394"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238222394" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238222394">(May 10 2021 at 22:37)</a>:</h4>
<p>I guess next is libmvec...</p>



<a name="238222414"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238222414" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238222414">(May 10 2021 at 22:37)</a>:</h4>
<p>Lol</p>



<a name="238222521"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238222521" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238222521">(May 10 2021 at 22:38)</a>:</h4>
<p>I think our biggest question will be how to move forward with LLVM.  I can ask llvm-wg how to proceed with coordinating that?</p>



<a name="238222546"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238222546" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238222546">(May 10 2021 at 22:38)</a>:</h4>
<p>I've started writing an implementation over here: <a href="https://salsa.debian.org/Kazan-team/vector-math">https://salsa.debian.org/Kazan-team/vector-math</a></p>



<a name="238222619"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238222619" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238222619">(May 10 2021 at 22:39)</a>:</h4>
<p>I'm thinking I could look at getting the llvm bits wired up, they look simple enough from 10000ft...</p>



<a name="238222655"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238222655" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238222655">(May 10 2021 at 22:39)</a>:</h4>
<p>such that llvm would use our math lib for vector functions</p>



<a name="238222791"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238222791" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238222791">(May 10 2021 at 22:41)</a>:</h4>
<p>I've so far implemented ilogb for f16, f32, and f64 and sin_cos_pi for f16 and f32</p>



<a name="238222952"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238222952" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238222952">(May 10 2021 at 22:42)</a>:</h4>
<p>Sure, asking wg-llvm sounds good.</p>



<a name="238222972"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238222972" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238222972">(May 10 2021 at 22:42)</a>:</h4>
<p>even just "hey have you heard of this? :D"</p>



<a name="238223064"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238223064" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238223064">(May 10 2021 at 22:43)</a>:</h4>
<p>I would probably need to add extern "C" wrappers for the Rust functions...</p>



<a name="238223078"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238223078" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238223078">(May 10 2021 at 22:43)</a>:</h4>
<p>We should probably implement some kind of <code>{to,from}_ne_bytes</code> transmute.</p>



<a name="238223204"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238223204" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238223204">(May 10 2021 at 22:45)</a>:</h4>
<p>The problem with llvm is first of all it only supports like 3 vector lib fns and we need a bunch more, also it's a question of should we spoof another library's API or should we add our own to llvm</p>



<a name="238223409"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238223409" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238223409">(May 10 2021 at 22:46)</a>:</h4>
<p>I think we should add our own, it can live in the rust-llvm interface c++ until upstreamed to llvm</p>



<a name="238223488"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238223488" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238223488">(May 10 2021 at 22:47)</a>:</h4>
<p>Well it's not that simple, llvm generates calls to the library so it needs to know the symbol names</p>



<a name="238223616"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238223616" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238223616">(May 10 2021 at 22:49)</a>:</h4>
<p>yes, hence why I was adding the extern "C" wrapper fns mentioned above</p>



<a name="238223718"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238223718" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238223718">(May 10 2021 at 22:50)</a>:</h4>
<p>so we'd end up with something like rust_vector_math_sin_f32x4</p>



<a name="238223782"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238223782" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238223782">(May 10 2021 at 22:51)</a>:</h4>
<p>those would live in core via a subtree</p>



<a name="238223808"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238223808" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238223808">(May 10 2021 at 22:51)</a>:</h4>
<p>or some other suitable crate</p>



<a name="238224238"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238224238" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238224238">(May 10 2021 at 22:56)</a>:</h4>
<p>I think we'd want to figure out exactly how it all works, it seems to be connected to llvm::TargetLibraryInfo::getVectorizedFunction</p>



<a name="238224643"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238224643" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238224643">(May 10 2021 at 23:00)</a>:</h4>
<p>"someone please add a full problem statement of the libmvec thing somewhere": vector math functions are not widely available and can't be used from core due to needing the external library, therefore we build a math lib for Rust that can be used everywhere and doesn't require external dependencies allowing it to be used in core</p>



<a name="238224754"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238224754" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238224754">(May 10 2021 at 23:01)</a>:</h4>
<p>so: SimdF32::sin() would then work everywhere SimdF32 works</p>



<a name="238224836"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238224836" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238224836">(May 10 2021 at 23:02)</a>:</h4>
<p>including webassembly, microcontrollers, etc</p>



<a name="238224884"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238224884" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238224884">(May 10 2021 at 23:02)</a>:</h4>
<p>also, it would be faster than just calling f32::sin a bunch of times</p>



<a name="238225207"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238225207" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238225207">(May 10 2021 at 23:06)</a>:</h4>
<p>the reason we go through all the hassle of getting llvm to generate calls to our library is then because it can instead generate the native sin instruction where supported, leaving it up to lllvm is by far the best option since it can do const-propagation, optimization, and is the best spot to make target-specific decisions</p>



<a name="238225263"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238225263" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238225263">(May 10 2021 at 23:07)</a>:</h4>
<p>hopefully that's a good enough explanation for now</p>



<a name="238225284"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238225284" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238225284">(May 10 2021 at 23:07)</a>:</h4>
<p>I think that sums it up, maybe we want to formalize it somewhere</p>



<a name="238225320"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238225320" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jubilee <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238225320">(May 10 2021 at 23:08)</a>:</h4>
<p>"but also we need to teach llvm to recognize the symbol names"</p>



<a name="238225381"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238225381" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238225381">(May 10 2021 at 23:08)</a>:</h4>
<p>yup, that's part of the hassle of getting llvm to call our vector math lib</p>



<a name="238225505"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238225505" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238225505">(May 10 2021 at 23:10)</a>:</h4>
<p>we'd probably do that by creating another implementation of the <a href="https://llvm.org/doxygen/classllvm_1_1TargetLibraryInfo.html">https://llvm.org/doxygen/classllvm_1_1TargetLibraryInfo.html</a> class</p>



<a name="238225549"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238225549" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238225549">(May 10 2021 at 23:10)</a>:</h4>
<p>It will also involve expanding the functions LLVM supports for vector libs</p>



<a name="238226566"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238226566" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238226566">(May 10 2021 at 23:21)</a>:</h4>
<p>so, should I remove the "potentially" from <a href="https://github.com/rust-lang/stdsimd/issues/109">stdsimd#109</a> and assume we want this at this time?</p>



<a name="238226646"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238226646" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238226646">(May 10 2021 at 23:22)</a>:</h4>
<p>I think there's still a lot of open questions</p>



<a name="238226694"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238226694" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238226694">(May 10 2021 at 23:23)</a>:</h4>
<p>yeah, but it's at least more than just me who wants it?</p>



<a name="238226746"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238226746" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238226746">(May 10 2021 at 23:24)</a>:</h4>
<p>I think rust will want a rust implementation and if it happens to be a shared implementation that's great, but unrelated to the API etc</p>



<a name="238227077"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238227077" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jacob Lifshay <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238227077">(May 10 2021 at 23:28)</a>:</h4>
<p>I meant morph <a href="https://github.com/rust-lang/stdsimd/issues/109">stdsimd#109</a> into a top-level bug for building a vector math lib</p>



<a name="238227094"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238227094" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Caleb Zulawski <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238227094">(May 10 2021 at 23:28)</a>:</h4>
<p>Oh sure</p>



<a name="238235560"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238235560" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238235560">(May 11 2021 at 00:59)</a>:</h4>
<p>okay, okay, we'll just do the MCU thing</p>



<a name="238235626"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238235626" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238235626">(May 11 2021 at 01:00)</a>:</h4>
<p><code>core_simd_phase1</code>, <code>core_simd_avengers</code>, <code>core_simd_phase2</code>, <code>guardians_of_the_core_simd</code>, etc</p>



<a name="238235689"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238235689" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238235689">(May 11 2021 at 01:00)</a>:</h4>
<p>if you can't match people's expectations, just don't let them expect anything and then they <em>have</em> to read your docs</p>



<a name="238236486"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257879-project-portable-simd/topic/Meeting%202021-05-10/near/238236486" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scottmcm <a href="https://rust-lang.github.io/zulip_archive/stream/257879-project-portable-simd/topic/Meeting.202021-05-10.html#238236486">(May 11 2021 at 01:11)</a>:</h4>
<p><code>simd_os_lion</code>, <code>simd_os_jaguar</code>, ...</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>